Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Квоты для профессий 2.0 #13632

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

DarthSidiousPalpatine
Copy link
Contributor

Описание изменений

Добавил возможность для ГП ставить "лайк" и "дизлайк" нужным и ненужным профессиям:
image
После чего в лобби, в меню Join, мы можем увидеть какие профессии нужны, а какие нежелательны, по мнению ГП:
image

Почему и что этот ПР улучшит

Можно будет увидеть какая профессия нужна в раунде по мнению ГП и зайти на неё. Больше работы хорошему ГП. Теперь он будет ещё и опрашивать отделы и следить за тем какие профессии нужны, а какие - нет.

Авторство

AndreyGysev

Чеинжлог

🆑 AndreyGysev

  • rscadd: Добавлена возможность назначить нужные и ненужные работы в раунде, статус которых будет отображаться в меню Join

@TauKitty TauKitty added the Feature Новая фича label Nov 14, 2024
@TauKitty
Copy link
Contributor

Changelog status: ✔️

@DarthSidiousPalpatine
Copy link
Contributor Author

DarthSidiousPalpatine commented Nov 14, 2024

Изначально я хотел перевести консоль на тгуи, но он у меня до конца не починился, потому, пришлось изучать и копаться в nanoui.

Зато было познавательно, узнал что такое dot.js, покопался в файлах и пр.

ПР сделан по результатам голосования на форуме.

@TauKitty
Copy link
Contributor

Этот запрос на слияние был упомянут в Tau Ceti Station Forum. Там могут быть соответствующие подробности:

https://forum.taucetistation.org/t/loupop-i-reshenie-problemy-resov/44068/105

@Deahaka
Copy link
Contributor

Deahaka commented Nov 14, 2024

Эм, ограничение сделай на количество. 1 профа из отдела или всего 3 профы глобально. И минусовать профы нет смысла, всё равно тот кто хочет зайти за библиотекаря ненужного и так зайдёт, за офицера ненужного также, но про игроков на ГП думать будет плохо в дальнейшем

@DarthSidiousPalpatine
Copy link
Contributor Author

DarthSidiousPalpatine commented Nov 14, 2024

Эм, ограничение сделай на количество. 1 профа из отдела или всего 3 профы глобально. И минусовать профы нет смысла, всё равно тот кто хочет зайти за библиотекаря ненужного и так зайдёт, за офицера ненужного также, но про игроков на ГП думать будет плохо в дальнейшем

ресы есть, шахтёр не нужен
овощи есть, ботаник не нужен
медикаменты есть, химик не нужен
и т.д. и т.п.

Чтобы не было такого что ты заходишь на профу, а твоё место работы уже заняли и ты - повторка.
Кому надо, опять же, - зайдёт. Это лишь индикация.

@Deahaka
Copy link
Contributor

Deahaka commented Nov 14, 2024

Чтобы уменьшить мисскомуникейшен, можно на каждый лайк и дизлайк требовать от ГП ввести короткий текст, который отобразится в меню лейтджоина рядом с профой. Что я имею ввиду:
ГП не нужен химик, он нажимает дизлайк в консоли, ему выводится поле для ввода текста, он пишет "папа пепе гемабоди" и теперь подсвеченная красным профессия может не выбраться новым участником раунда если его пугает надпись от ГП, а если нет, то он на него не в обиде

@DarthSidiousPalpatine
Copy link
Contributor Author

DarthSidiousPalpatine commented Nov 14, 2024

Чтобы уменьшить мисскомуникейшен, можно на каждый лайк и дизлайк требовать от ГП ввести короткий текст, который отобразится в меню лейтджоина рядом с профой. Что я имею ввиду: ГП не нужен химик, он нажимает дизлайк в консоли, ему выводится поле для ввода текста, он пишет "папа пепе гемабоди" и теперь подсвеченная красным профессия может не выбраться новым участником раунда если его пугает надпись от ГП, а если нет, то он на него не в обиде

это уже иквок передача текста в лобби... Уже вижу ГП что пишет про нюку и лайкает сбух

А сейчас, увидел лайк на сбухе и думаешь, а почему гп его лайкнул... они нужны? А почему? Надо зайти посмотреть, возьму сбуху.

@AndroBetel
Copy link
Member

ещё можно что если зашел за нежелаемую профу то минусы к зарплате а если за желаемую то плюсы

@DarthSidiousPalpatine
Copy link
Contributor Author

ещё можно что если зашел за нежелаемую профу то минусы к зарплате а если за желаемую то плюсы

ну хз, потом можно будет. Сейчас это - просто механ. а там посмотреть надо как будет работать на людях.

@DarthSidiousPalpatine
Copy link
Contributor Author

Какая-то страшная кнопка:
image

@Udokun
Copy link
Contributor

Udokun commented Nov 14, 2024

Цветовая индикация создаёт ощущение, что вход за эти профы заблокирован (что в целом было бы прикольно, но негодяи будут абузить), ну и зачем нам обычный и перевернутый восклицательный знак? Оставь плюс, минус и цвет.

@DarthSidiousPalpatine
Copy link
Contributor Author

Цветовая индикация создаёт ощущение, что вход за эти профы заблокирован (что в целом было бы прикольно, но негодяи будут абузить), ну и зачем нам обычный и перевернутый восклицательный знак? Оставь плюс, минус и цвет.

восклицательные знаки как раз чтобы было больше похоже на что-то иное чем "заблокировано/разблокировано". Потому что просто плюс и минус - выглядит больше как раз как заблочено/разблочено...

@Udokun
Copy link
Contributor

Udokun commented Nov 14, 2024

Цветовая индикация создаёт ощущение, что вход за эти профы заблокирован (что в целом было бы прикольно, но негодяи будут абузить), ну и зачем нам обычный и перевернутый восклицательный знак? Оставь плюс, минус и цвет.

восклицательные знаки как раз чтобы было больше похоже на что-то иное чем "заблокировано/разблокировано". Потому что просто плюс и минус - выглядит больше как раз как заблочено/разблочено...

Ты тут босс, тебе решать. Спасибо за офигенный ПР.

@DarthSidiousPalpatine
Copy link
Contributor Author

Цветовая индикация создаёт ощущение, что вход за эти профы заблокирован (что в целом было бы прикольно, но негодяи будут абузить), ну и зачем нам обычный и перевернутый восклицательный знак? Оставь плюс, минус и цвет.

восклицательные знаки как раз чтобы было больше похоже на что-то иное чем "заблокировано/разблокировано". Потому что просто плюс и минус - выглядит больше как раз как заблочено/разблочено...

Ты тут босс, тебе решать. Спасибо за офигенный ПР.

Та не, решать мейнтейнерам. Как скажут так и будет.

@KIBORG04
Copy link
Member

О, это же фича, которой не будут пользоваться!

Та не, решать мейнтейнерам. Как скажут так и будет.

Добавь куда-то пояснение че вообще значат эти !+ и !-. Можешь сделать, чтобы это выглядело как кнопка, а когда игрок наводит, то появляется hovertext.

@DarthSidiousPalpatine
Copy link
Contributor Author

О, это же фича, которой не будут пользоваться!

Та не, решать мейнтейнерам. Как скажут так и будет.

Добавь куда-то пояснение че вообще значат эти !+ и !-. Можешь сделать, чтобы это выглядело как кнопка, а когда игрок наводит, то появляется hovertext.

над поискать где в билде есть ховертекст. Эта менюшка же не в наноуи даже, оно просто хардкодом передаётся.

@DarthSidiousPalpatine
Copy link
Contributor Author

О, это же фича, которой не будут пользоваться!

Та не, решать мейнтейнерам. Как скажут так и будет.

Добавь куда-то пояснение че вообще значат эти !+ и !-. Можешь сделать, чтобы это выглядело как кнопка, а когда игрок наводит, то появляется hovertext.

image
image

Мышки не видно, но я навёл на кнопку.

Сделал всплывающую подсказку что появляется при наведении на профессии что "требуются" или "не требуются".
@DarthSidiousPalpatine
Copy link
Contributor Author

Тут тоже, к слову, скину.
image
31% фигни проголосовать не может)

@DarthSidiousPalpatine
Copy link
Contributor Author

Вот би стать мейнтейнером чтобы мержить всё подряд, особенно то, что улучшает лоупоп экспириенс, в эти сложные для сервера времена...

Убрал цифры в Дефайн.
Comment on lines 136 to 159
for(var/datum/job/job in SSjob.occupations)
if(!job)
continue
var/list/jobList = list(list("name" = job.title, "type" = job.type, "quota" = job.quota))
var/categorized = FALSE
for(var/jobcat in jobsCategories)
if(!categorizedJobs[jobcat])
categorizedJobs[jobcat] = list("title" = jobcat, "jobs" = list(), color = jobsCategories[jobcat]["color"])
var/list/jobs = categorizedJobs[jobcat]["jobs"]
if(job.title in jobsCategories[jobcat]["titles"])
categorized = TRUE
if(jobcat == "Command")

if(job.title == "Captain") // Put captain at top of command jobs
jobs.Insert(1, jobList)
else
jobs += jobList
else // Put heads at top of non-command jobs
if(job.title in command_positions)
jobs.Insert(1, jobList)
else
jobs += jobList
if(!categorized)
categorizedJobs["Miscellaneous"]["jobs"] += jobList
Copy link
Contributor

@NinjaPikachuska NinjaPikachuska Nov 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

я не совсем понимаю нужду генерировать это все на ходу каждый раз при открытии менюшки
у нас разве уже нет готовых листов в нужном порядке? https://github.com/TauCetiStation/TauCetiClassic/blob/25977739f68995654a95b67950a69eb7dff88abb/code/game/jobs/jobs.dm

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Неа, нет готовых листов в нужном порядке.

Copy link
Contributor

@NinjaPikachuska NinjaPikachuska Nov 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

а чем command_positions, engineering_positions, security_positions и подобные не подходят?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Тем, что это лишь часть списка блин

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Там вместе со списком передаётся цвет обрамления:
image

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Окей, у меня есть идея как чуть сократить код.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Переделал. Теперь списки почти не составляются. Всё ещё надо их дополнять, но уже меньше проходов и вообще меньше операций.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Новая фича
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants